package org.dxy.infrastructure.persistent.db.mybatispuls.po.query;

import com.baomidou.mybatisplus.annotation.*;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 车间视图实体
 * @author dxy
 * @createTime 2025/8/18
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("workshop_view")
public class WorkshopViewPo {
    
    /**
     * 车间ID
     */
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;
    
    /**
     * 车间编码
     */
    private String workshopCode;
    
    /**
     * 车间名称
     */
    private String workshopName;
    
    /**
     * 所属工厂ID
     */
    private Long factoryId;
    
    /**
     * 所属工厂名称
     */
    private String factoryName;
    
    /**
     * 车间类型：PRODUCTION-生产车间，ASSEMBLY-装配车间，QUALITY-质检车间，WAREHOUSE-仓储车间
     */
    private String workshopType;
    
    /**
     * 车间面积（平方米）
     */
    private Double area;
    
    /**
     * 负责人
     */
    private String manager;
    
    /**
     * 联系电话
     */
    private String phone;
    
    /**
     * 车间状态：ACTIVE-启用，INACTIVE-禁用，MAINTENANCE-维护中
     */
    private String status;
    
    /**
     * 描述
     */
    private String description;

    /** 创建人 */
    @TableField(fill = FieldFill.INSERT)
    private String createdBy;

    /** 创建时间 */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createdTime;

    /** 修改人 */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updatedBy;

    /** 更新时间 */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updatedTime;

    /** 逻辑删除标识 0-未删除 1-已删除 */
    @TableLogic
    private Integer deleted;
}